import variables from '@/styles/element-variables.scss'
// 这里放的都是一些 开关 一些变量名称和对应的true false的值
import defaultSettings from '@/settings'

const { showSettings, tagsView, fixedHeader, sidebarLogo } = defaultSettings
// 初始化 这些变量的值 可以修改 他们的初始化的值 
// export 导出 一个对象 然后 用结构化 去接受 这些变量里的值

// 这个theme 默认是有一个色值的 是从scss 里传入的 叫variables 是个对象  里面有 theme 这个属性
const state = {
  theme: variables.theme,
  showSettings: showSettings,
  tagsView: tagsView,
  fixedHeader: fixedHeader,
  sidebarLogo: sidebarLogo
}

const mutations = {
  CHANGE_SETTING: (state, { key, value }) => {
    // eslint-disable-next-line no-prototype-builtins
    // 判断当前的这个 state里是否 有 key 这属性 有就返回 true
    console.log(key,'key');
    console.log(value,'value');
    if (state.hasOwnProperty(key)) {
      state[key] = value
    }
  }
}

const actions = {
  changeSetting({ commit }, data) {
    commit('CHANGE_SETTING', data)
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

